home *** CD-ROM | disk | FTP | other *** search
/ Visual Intercept / Visual Intercept.iso / sheriff.z / iscontfn.bas < prev    next >
BASIC Source File  |  1996-08-26  |  11KB  |  287 lines

  1. Attribute VB_Name = "IIContact"
  2. '----------------------------------------------------------------------------
  3. '   iscontfn.bas is a member of the Visual Intercept Visual Basic API.
  4. '   Copyright (c) 1996 Elsinore Technologies, Inc. All rights reserved.
  5. '
  6. '   This software is protected by copyright law. Unauthorized reproduction
  7. '   or distribution of this program, or any portion of it, may result in
  8. '   severe civil or criminal penalties. If you have any questions about
  9. '   your redistribution rights, please contact Elsinore Technologies, Inc.
  10. '
  11. '   Creator: Albert J. Lin (AJL)
  12. '   History: Created 09/17/95
  13. '----------------------------------------------------------------------------
  14.  
  15.  
  16. '----------------------------------------------------------------------------
  17. ' Visual Intercept Contact Declaration:
  18. '----------------------------------------------------------------------------
  19. Public Type VIContact
  20.     contactID               As Long
  21.     firstName               As String
  22.     lastName                As String
  23.     address                 As String
  24.     city                    As String
  25.     state                   As String
  26.     region                  As String
  27.     country                 As String
  28.     zipCode                 As String
  29.     company                 As String
  30.     department              As String
  31.     title                   As String
  32.     phonePrimary            As String
  33.     phoneSecondary          As String
  34.     pager                   As String
  35.     fax                     As String
  36.     email                   As String
  37.     description             As String
  38.     type                    As String
  39. End Type
  40.  
  41. Public Type IEContact
  42.     contactID               As Long
  43.     lpFirstName             As String
  44.     lpLastName              As String
  45.     lpAddress               As String
  46.     lpCity                  As String
  47.     lpState                 As String
  48.     lpRegion                As String
  49.     lpCountry               As String
  50.     lpZipCode               As String
  51.     lpCompany               As String
  52.     lpDepartment            As String
  53.     lpTitle                 As String
  54.     lpPhonePrimary          As String
  55.     lpPhoneSecondary        As String
  56.     lpPager                 As String
  57.     lpFax                   As String
  58.     lpEmail                 As String
  59.     lpDescription           As String
  60.     lpType                  As String
  61.     
  62.     lnFirstName             As Integer
  63.     lnLastName              As Integer
  64.     lnAddress               As Integer
  65.     lnCity                  As Integer
  66.     lnState                 As Integer
  67.     lnRegion                As Integer
  68.     lnCountry               As Integer
  69.     lnZipCode               As Integer
  70.     lnCompany               As Integer
  71.     lnDepartment            As Integer
  72.     lnTitle                 As Integer
  73.     lnPhonePrimary          As Integer
  74.     lnPhoneSecondary        As Integer
  75.     lnPager                 As Integer
  76.     lnFax                   As Integer
  77.     lnEmail                 As Integer
  78.     lnDescription           As Integer
  79.     lnType                  As Integer
  80. End Type
  81.  
  82. '/*  Contact API.          */
  83. Public Declare Function IIInsertContact Lib "isapi.dll" (pContact As IEContact) As Long
  84. Public Declare Function IIDeleteContact Lib "isapi.dll" (pContact As IEContact, ByVal clause As String) As Long
  85. Public Declare Function IIModifyContact Lib "isapi.dll" (pContact As IEContact, ByVal clause As String) As Long
  86. Public Declare Function IIFetchContact Lib "isapi.dll" (pContact As IEContact, ByVal clause As String) As Long
  87. Public Declare Function IIFetchContacts Lib "isapi.dll" (ByRef pnTotal As Long, ByVal clause As String) As Long
  88. Public Declare Function IIGetContact Lib "isapi.dll" (pContact As IEContact, ByVal nIndex As Long) As Long
  89.  
  90. Public Function VBIIInitContact(contact As IEContact)
  91.   
  92.     contact.lnFirstName = lnIIName
  93.     contact.lnLastName = lnIIName
  94.     contact.lnAddress = lnIIAddress
  95.     contact.lnCity = lnIICity
  96.     contact.lnState = lnIIState
  97.     contact.lnRegion = lnIIRegion
  98.     contact.lnCountry = lnIICountry
  99.     contact.lnZipCode = lnIIZipCode
  100.     contact.lnCompany = lnIICompany
  101.     contact.lnDepartment = lnIIDepartment
  102.     contact.lnTitle = lnIITitle
  103.     contact.lnPhonePrimary = lnIIPhone
  104.     contact.lnPhoneSecondary = lnIIPhone
  105.     contact.lnPager = lnIIPhone
  106.     contact.lnFax = lnIIPhone
  107.     contact.lnEmail = lnIIEMail
  108.     contact.lnDescription = lnIIDescription
  109.     contact.lnType = lnIIParameter
  110.   
  111.     contact.contactID = 0
  112.     contact.lpFirstName = String(contact.lnFirstName, 0)
  113.     contact.lpLastName = String(contact.lnLastName, 0)
  114.     contact.lpAddress = String(contact.lnAddress, 0)
  115.     contact.lpCity = String(contact.lnCity, 0)
  116.     contact.lpState = String(contact.lnState, 0)
  117.     contact.lpRegion = String(contact.lnRegion, 0)
  118.     contact.lpCountry = String(contact.lnCountry, 0)
  119.     contact.lpZipCode = String(contact.lnZipCode, 0)
  120.     contact.lpCompany = String(contact.lnCompany, 0)
  121.     contact.lpDepartment = String(contact.lnDepartment, 0)
  122.     contact.lpTitle = String(contact.lnTitle, 0)
  123.     contact.lpPhonePrimary = String(contact.lnPhonePrimary, 0)
  124.     contact.lpPhoneSecondary = String(contact.lnPhoneSecondary, 0)
  125.     contact.lpPager = String(contact.lnPager, 0)
  126.     contact.lpFax = String(contact.lnFax, 0)
  127.     contact.lpEmail = String(contact.lnEmail, 0)
  128.     contact.lpDescription = String(contact.lnDescription, 0)
  129.     contact.lpType = String(contact.lnType, 0)
  130.  
  131. End Function
  132.  
  133. Public Function VBIIInsertContact(userContact As VIContact) As Long
  134.     Dim contact As IEContact
  135.     Dim err As Long
  136.     
  137.     Call VBIIInitContact(contact)
  138.     
  139.     Call VBIIPrepareContact(contact, userContact)
  140.     
  141.     err = IIInsertContact(contact)
  142.         
  143.     VBIIInsertContact = err
  144.     
  145. End Function
  146.  
  147. Public Function VBIIModifyContact(userContact As VIContact, ByRef clause As String) As Long
  148.     Dim contact As IEContact
  149.     Dim err As Long
  150.     
  151.     Call VBIIInitContact(contact)
  152.     
  153.     Call VBIIPrepareContact(contact, userContact)
  154.       
  155.     err = IIModifyContact(contact, clause)
  156.  
  157.     VBIIModifyContact = err
  158.     
  159. End Function
  160.  
  161. Public Function VBIIConvertContact(contact As IEContact, userContact As VIContact)
  162.     
  163.     userContact.contactID = contact.contactID
  164.     userContact.firstName = contact.lpFirstName
  165.     userContact.lastName = contact.lpLastName
  166.     userContact.address = contact.lpAddress
  167.     userContact.city = contact.lpCity
  168.     userContact.state = contact.lpState
  169.     userContact.region = contact.lpRegion
  170.     userContact.country = contact.lpCountry
  171.     userContact.zipCode = contact.lpZipCode
  172.     userContact.company = contact.lpCompany
  173.     userContact.department = contact.lpDepartment
  174.     userContact.title = contact.lpTitle
  175.     userContact.phonePrimary = contact.lpPhonePrimary
  176.     userContact.phoneSecondary = contact.lpPhoneSecondary
  177.     userContact.pager = contact.lpPager
  178.     userContact.fax = contact.lpFax
  179.     userContact.email = contact.lpEmail
  180.     userContact.description = contact.lpDescription
  181.     userContact.type = contact.lpType
  182.     
  183. End Function
  184.  
  185.  
  186. Public Function VBIIPrepareContact(contact As IEContact, userContact As VIContact)
  187.     
  188.     contact.contactID = userContact.contactID
  189.     contact.lpFirstName = userContact.firstName
  190.     contact.lpLastName = userContact.lastName
  191.     contact.lpAddress = userContact.address
  192.     contact.lpCity = userContact.city
  193.     contact.lpState = userContact.state
  194.     contact.lpRegion = userContact.region
  195.     contact.lpCountry = userContact.country
  196.     contact.lpZipCode = userContact.zipCode
  197.     contact.lpCompany = userContact.company
  198.     contact.lpDepartment = userContact.department
  199.     contact.lpTitle = userContact.title
  200.     contact.lpPhonePrimary = userContact.phonePrimary
  201.     contact.lpPhoneSecondary = userContact.phoneSecondary
  202.     contact.lpPager = userContact.pager
  203.     contact.lpFax = userContact.fax
  204.     contact.lpEmail = userContact.email
  205.     contact.lpDescription = userContact.description
  206.     contact.lpType = userContact.type
  207.     
  208.     contact.lnFirstName = Len(userContact.firstName)
  209.     contact.lnLastName = Len(userContact.lastName)
  210.     contact.lnAddress = Len(userContact.address)
  211.     contact.lnCity = Len(userContact.city)
  212.     contact.lnState = Len(userContact.state)
  213.     contact.lnRegion = Len(userContact.region)
  214.     contact.lnCountry = Len(userContact.country)
  215.     contact.lnZipCode = Len(userContact.zipCode)
  216.     contact.lnCompany = Len(userContact.company)
  217.     contact.lnDepartment = Len(userContact.department)
  218.     contact.lnTitle = Len(userContact.title)
  219.     contact.lnPhonePrimary = Len(userContact.phonePrimary)
  220.     contact.lnPhoneSecondary = Len(userContact.phoneSecondary)
  221.     contact.lnPager = Len(userContact.pager)
  222.     contact.lnFax = Len(userContact.fax)
  223.     contact.lnEmail = Len(userContact.email)
  224.     contact.lnDescription = Len(userContact.description)
  225.     contact.lnType = Len(userContact.type)
  226.     
  227. End Function
  228.  
  229.  
  230. Public Function VBIIFetchContact(userContact As VIContact, ByRef clause As String) As Long
  231.     Dim contact As IEContact
  232.     Dim err As Long
  233.     
  234.     Call VBIIInitContact(contact)
  235.      
  236.     Call VBIIPrepareContact(contact, userContact)
  237.     
  238.     err = IIFetchContact(contact, clause)
  239.     
  240.     If err = 0 Then
  241.         Call VBIIConvertContact(contact, userContact)
  242.     End If
  243.  
  244.     VBIIFetchContact = err
  245.     
  246. End Function
  247.  
  248. Public Function VBIIDeleteContact(userContact As VIContact, ByRef clause As String) As Long
  249.     Dim contact As IEContact
  250.     Dim err As Long
  251.     
  252.     Call VBIIInitContact(contact)
  253.     
  254.     Call VBIIPrepareContact(contact, userContact)
  255.     
  256.     err = IIDeleteContact(contact, clause)
  257.     
  258.     VBIIDeleteContact = err
  259.     
  260. End Function
  261.  
  262. Public Function VBIIFetchContacts(ByRef rnTotal As Long, ByRef clause As String) As Long
  263.     Dim err As Long
  264.         
  265.     err = IIFetchContacts(rnTotal, clause)
  266.     
  267.     VBIIFetchContacts = err
  268.     
  269. End Function
  270.  
  271. Public Function VBIIGetContact(userContact As VIContact, ByVal nIndex As Long) As Long
  272.     Dim contact As IEContact
  273.     Dim err As Long
  274.     
  275.     Call VBIIInitContact(contact)
  276.     
  277.     err = IIGetContact(contact, nIndex)
  278.     
  279.     If err = 0 Then
  280.         Call VBIIConvertContact(contact, userContact)
  281.     End If
  282.     
  283.     VBIIGetContact = err
  284.     
  285. End Function
  286.  
  287.